//
//  NSString+Com_Range.m
//  WEIXUE_RN
//
//  Created by WangGuoli on 2017/11/17.
//  Copyright © 2017年 zhanghao. All rights reserved.
//

#import "NSString+Com_Range.h"

@implementation NSString (Com_Range)
/**
 在字符串中找出 某个子字符串的 在整个字符串的 所有的位置range
 
 @param searchString 当前的子字符串
 @param mask 搜索类型
 @param rangeOfReceiverToSearch 搜索范围
 @return 返回所有的 range
 */
- (NSArray <NSValue *> *)rangeValuesOfSearchString:(NSString *)searchString
                                           options:(NSStringCompareOptions)mask
                                             range:(NSRange)rangeOfReceiverToSearch {
  
  
  NSMutableArray *array = [NSMutableArray array];
  [self rangeOfSearchString:searchString range:NSMakeRange(0, self.length) options:mask array:array];
  return array;
}


/**
 取出某个 range 放到 array 里面
 
 @param searchString 搜索字符串
 @param searchRange 搜索的范围
 @param mask 搜索类型
 @param array 搜索字符串
 */
- (void)rangeOfSearchString:(NSString *)searchString
                      range:(NSRange)searchRange
                    options:(NSStringCompareOptions)mask
                      array:(NSMutableArray *)array {
  
  NSRange range = [self rangeOfString:searchString options:mask range:searchRange];
  
  if (range.location != NSNotFound) {
    
    [array addObject:[NSValue valueWithRange:range]];
    [self rangeOfSearchString:searchString
                        range:NSMakeRange(range.location + range.length, self.length - (range.location + range.length))
                      options:mask
                        array:array];
  }
}
@end
